#pragma once

#include <string>
using namespace std;

class MessageHandler
{
public:
    enum MessageType
    {
        LOGIN,         // 用户登录
        LOGOUT,        // 用户登出
        PRIVATE_MSG,   // 私聊信息
        BROADCAST_MSG, // 广播信息
        ERROR
    };

    // 消息格式：  类型|发送者|接收者|内容
    struct Message
    {
        MessageType type;
        string sender;
        string receiver;
        string content;
    };

    // 解析客户端消息，检查信息是否完整
    static Message parseMessage(const string &rawMessage);
    // 封装消息包
    static string formatMessage(MessageType type, const string &sender,
                                const string &receiver, const string &content);
};
